package com.project.bean;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.util.List;

/**
 * @author lyl
 * @since 2021-10-04
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("t_order")
public class OrderBean extends Model {

    private static final long serialVersionUID = 1L;

    /**
     * 订单id
     */
    @TableId(value = "order_id", type = IdType.AUTO)
    private Integer orderId;

    /**
     * 订单编号
     */
    @TableField("code")
    private String code;

    /**
     * 订单总价
     */
    @TableField("price")
    private Integer price;

    /**
     * 订单开始时间
     */
    @TableField("starttime")
    private String startTime;

    /**
     * 订单骑手接单时间
     */
    @TableField("orderStarttime")
    private String orderStartTime;

    /**
     * 订单结束时间
     */
    @TableField("endtime")
    private String endTime;

    /**
     * 所配送订单所在区域
     */
    @TableField("area")
    private String area;

    /**
     * 商家联系电话
     */
    @TableField("merchantTel")
    private String merchantTel;

    /**
     * 商家地址
     */
    @TableField("merchantAddress")
    private String merchantAddress;

    /**
     * 客户联系电话
     */
    @TableField("customerTel")
    private String customerTel;

    /**
     * 客户地址
     */
    @TableField("customerAddress")
    private String customerAddress;

    /**
     * 订单备注
     */
    @TableField("orderNotes")
    private String orderNotes;

    /**
     * 骑手每单收入
     * 根据骑手接单的数量进行递增
     * 1-50单为级别1，一单2元
     * 51-100单为级别2，一单3元
     * 101-150单为级别3，一单4元
     * 151-200单为级别4，一单5元
     * 201单后为级别5，一单6元
     */
    @TableField("income")
    private Integer income;


    /**
     * 订单状态
     */
    @TableField("statue")
    private String statue;

    /**
     * 用户进行骑手评分
     */
    @TableField("userrating")
    private String userRating;

    /**
     * 骑手外键
     */
    @TableField("fk_riderId")
    private Integer riderId;

    /**
     * 骑手实体
     */
    @TableField(exist = false)
    private RiderBean rider;

    /**
     * 订单详情集合
     */
    @TableField(exist = false)
    private List<DetailBean> list;
}
